Computer system for controlling an industrial robot subsystem which can monitor and detect abnormalities therein

ABSTRACT

Each of the states of the computer system is displayed in units of a module which is executed for a predetermined time period, thereby facilitating diagnosis and countermeasure by a maker. For this purpose, software of a computer system operable by software is classified hierarchically, a module of the hierarchical software which is being executed for a predetermined time period is managed as a minimum unit and displayed on an as-needed basis, and the state of execution of the software can be understood.

This is a continuation of application Ser. No. 08/381,961, filed Mar.22, 1995, now abandoned.

TECHNICAL FIELD

The present invention relates to a computer system and more particularlyto a computer system capable of displaying and storing a module underexecution or immediately after execution.

BACKGROUND ART

In general, an industrial robot comprises a control board for storingand reproducing position information and conditions for machining, ateaching box (T-BOX) for instructing the control board the direction ofmovement, the position of movement and the condition for machining, anda working robot operating according to instructions from the T-BOX oraccording to instructions from the control board by reproducing thecontents instructed by T-BOX.

The T-BOX includes a step number display section, instruction itemsselection switches, a manual switch section, instruction push buttonswitches, a memory command switch, a plurality of display lamps, etc.

The step number display section displays the step number attached toeach of teaching steps.

The instruction item selection switch is operated to designate theteaching content. The instruction item selection switches are providedwith selection items associated to functions of the working robot, e.g.designation of position, designation of movement condition fordesignating the kind of a locus of movement, e.g. linear movement orcircular movement, designation of machining conditions, etc.

The manual switch section is operated to drive each axis of the workingrobot independently at the time of teaching. In the case of a robothaving a rectangular coordinate system, the manual switch section isprovided with movement command switches for inputting movement commandsfor driving X-, Y- and z-axes and θ- and ψ-axes of a wrist. In the caseof a joint-type robot, the manual switch section is provided withmovement command switchs for inputting movement commands for driving arotational axis, a lower arm, an upper arm and θ- and ψ-axes of a wrist.

The instruction push button switch and memory command switch areoperated to send information set by a teaching operation to the controlboard and to store the information therein.

The display lamp is provided for each of the selection items in theteaching mode.

The operation of the working robot is determined by a command from theT-BOX or a drive command read out by the control board and processed ina predetermined manner at the time of playback. A workpiece is alignedto the working robot by fixing means.

In the computer system having the above structure, the T-BOX is operatedprior to machining, and a tip portion of a machining tool of the workingrobot is moved along a machining line of a workpiece while beingvisually monitored. Thus, the working robot is manually operated. Withthe manual operation of the working robot, a teaching operation isperformed in which machining conditions for machining the workpiece andoperational procedures and positions of the tip portion of the machiningtool of the working robot are stored in internal memory means of thecontrol board.

If the teaching operation of the working robot is completed, anautomatic operation, i.e. a playback operation is capable of initiatingon the basis of the machining conditions and operational procedures andpositions of the tip portion of the machining tool which are stored inthe internal memory means of the control board. Then, the control boardreads out the already taught position information of the machining lineand machining conditions and subjects them to predetermined processing.Thereafter, the resultant is supplied to the working robot as a drivingsignal, and the tip portion of the working tool of the working robot isoperated in the playback manner along the previously taught locus.

In a conventional computer system for actuating the above working robot,each component is treated at an equal level. After the system isactivated, a main component is executed in an interrupt manner. If anerror occurs, a code number is displayed with an error code so that thecause of trouble corresponding to the code number can be diagnosed byreferring to a table prepared in advance which shows causes of troubles.

Thus, there is a problem with the conventional computer system, in thatthe state of execution of a program cannot be understood while thecomputer system is working normally.

In addition, there is a problem with the conventional computer system,in that when abnormality occurs, only a predicted cause registered in anerror code can be found.

Furthermore, there is a problem with the conventional computer system,in that an execution list can be printed out and checked only by anexpert of system software with a great deal of time required.

DISCLOSURE OF THE INVENTION

The object of the present invention is to provide a computer systemcapable of displaying each of the states of the computer system in unitsof a module which is executed for a predetermined time period, therebyfacilitating diagnosis and countermeasure by a maker.

In the computer system of the present invention, for example, if a CPUof a servo sub-system malfunctions, the man-machine sub-system monitorsand displays the code number of an error code of the CPU of the servosub-system by a display function. If power is not supplied to theperipheral element of the robot, the code number of an error code tothat effect is displayed. By referring the operation manual the codenumber, the error content can be understood.

When an abnormality has occurred, there is a case where although it isunderstood that the abnormality occurs in the CPU, it is not understoodwhat the CPU was doing and what results in the abnormality. If themodule computed at the time of abnormality is identified, it isunderstood whether hardware or software was wrong. The user cannotunderstand what was processing just before the occurrence ofabnormality. If the content of processing just before the occurrence ofabnormality is understood to the user, the maker receives a report fromthe user and this is useful in tracing the location of abnormality andfacilitating the repair.

In the present invention, in order to easily diagnose the cause of suchabnormality, software of a computer system operable by software isclassified hierarchically, a module of the hierarchical software whichis being executed for a predetermined time period is managed as aminimum unit and displayed on an as-needed basis, and the state ofexecution of the software can be understood.

In this case, it is desirable that a module of the software just afterexecuted be similarly displayed.

Furthermore, in the present invention, software of a computer systemoperated by software is classified hierarchically, and a module of thehierarchical software, which is being executed for a predetermined timeperiod, is stored as a minimum unit by rewriting the executed moduleeach time execution is effected. The stored content is frozensimultaneously with occurrence of abnormality, and it can be checked atan early stage which module being executed is malfunctioning.

In this case, it is desirable that a module of the software just afterexecuted be similarly displayed.

It is further desirable that the display and storage be effected in anoverlapping manner among sub-systems.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a computer system structure of a computer system accordingto the present invention for executing software classified in ahierarchical manner.

FIG. 2 shows a system structure of hierarchical software.

FIG. 3 is a detailed view of a man-machine system of hierarchicalsoftware.

BEST MODE FOR CARRYING OUT THE INVENTION

In FIG. 1, a teaching box (T-BOX) has functions of issuing a command foractivating a working robot 2 and assembling a sequence program whileactually operating the working robot 2. The sequence program isassembled by storing specific points one by one while actually actuatingthe working robot 2.

The T-BOX 1 has a display 11, a keyboard 12 and a jog dial 13. Thedisplay 11 displays the content input by the keyboard 12 or displays anerror message. The keyboard 12 specifies a moving object (e.g. a firstjoint, a third joint, etc.) of the working robot 2. The jog dial 13determines how the object (e.g. third joint) specified by the keyboard12 is moved, and to what degree. Specifically, when the dial is turnedto the right, for example, this indicates actual rotation of the thirdjoint in the X-axis direction. When the dial is turned to the left, thisindicates actual rotation of the third joint in the Y-axis direction.This jog dial 13 is used only for setting of position.

When a tip portion of the working robot 2 has been moved to apredetermined working position, an instruction of "arc", for example, isgiven by the keyboard 12 if welding is ordered. If the tip portion ofthe working robot 2 is moved to a reference position or a path startposition, a button P is depressed. That is, the robot is asked to startfrom the point P and move according to the program, and in case of spotwelding, it is to perform spot welding. Such preparatory setting isperformed in the teaching box (T-BOX) 1.

A man-machine sub-system 3 has functions of converting a working commandof the working robot 2 from the T-BOX 1 to an execution code and sendingit to a trajectory sub-system 4.

The man-machine sub-system 3 includes a keyboard signal converter 31, arobot language translator 32, an intermediate language translator 33, anoperation code executor 34, a display indicating function 35, a safetyfunction 36 and a memory 37.

The keyboard signal translator 31 reads in a signal input from thekeyboard 12 as data and converts the signal to an actual system signal.Specifically, the keyboard signal converter 31 converts the input signalfrom the keyboard 12 to such a signal as to be executed by theman-machine subsystem 3 and provide an instruction to the trajectorysub-system 4.

The robot language translator 32 converts a signal input from thekeyboard 12 to on intermediate language. The robot language is alanguage capable of designating the position, for example, like workinginstructions such as ARC ON, X=50, Y=38 and Z=169, and of teachingsworks to the robot without actually moving the robot.

The intermediate language translator 33 is constructed such that asystem control signal can be input to the translator 33 from anothersystem by using the intermediate language. However, when the workingrobot 2 is moved by the instruction from this other system, translationto an executable code is effected language by the intermediate languagetranslator 33.

The operation code executor 34 instructs works directly to thetrajectory subsystem 4.

The display indicating function 35 controls the display 11 of the T-BOX1.

The safety function 36 makes the working robot 2 operate constantly toensure safety. That is, the safety function 36 is a function ofperforming a fail-safe operation.

The memory 37 stores the operation of the working robot 2 instructed bythe T-BOX 1.

The trajectory sub-system 4 calculates the operational path of theworking robot 2 on the basis of the command signal sent from theman-machine sub-system 3.

This trajectory sub-system 4 includes a path planning device 41, acoordinate converter 42, an I/O management device 43 and a servomanagement device 44.

The path planning device 41 calculates, on the basis of the positioninformation of the tip portion of the working robot 2 sent from theman-machine sub-system 3, how the arm of the working robot 2 shouldshift the tip portion of the working robot 2 to a predeterminedposition.

The coordinate converter 42 converts to an individual coordinate signalthe position of each axis associated with the movement of each joint ofthe arm of the working robot 2 calculated by the path planning device41.

The I/O management device 43 outputs the coordinate signal converted bythe coordinate converter 42 to the servo sub-system 5. In addition, theI/O management device 43 issues a command relating to the turning-on/offof an external device such as a torch T which actually emits an arc.

The servo management device 44 designates the position of the tipportion of the working robot 2 and moves each joint (motor M) of the armof the working robot 2 to the designated position.

The servo sub-system 5 performs arithmetic operations to determine thedegree movement of the axis of each joint of the arm of the workingrobot 2, which is to be moved the rod tip portion of the working robot 2to a predetermined coordinate position based on each coordinate signalsent from the trajectory sub-system 4. For this purpose, the servosub-system 5 performs arithmetic operations to determine the magnitudeof electric current to be supplied to the motor M which drives eachaxis, thereby controlling the supply current.

With this structure, the working robot 2 is moved by executing asequence program according to a command from the T-BOX 1.

This computer system is executed by hierarchical software, as shown inFIG. 2. FIG. 3 shows in detail the hierarchical software of theman-machine sub-system 3, as shown in FIG. 2.

In FIGS. 2 and 3, system initialize 6 is a software for clearing a RAM,initializing peripheral ICs, etc. The system initialize 6 communicateswith other sub-systems and checks whether all sub-systems are operatingnormally.

System management 7 manages the entire man-machine sub-system 3.Specifically, the system management 7 manages tasks and clears variousglobal variables. The system management 7 is divided into six: modemanagement (task) 71, exceptional process management (task) 72, I/Omanagement (task) 73, robot management (automatic operation) 74, manualrobot operation-inching (task) 75 and system management execution 76.

The mode management 71 is divided into four: mode management software711, robot initialize 712, HOME 713 and parameter processing 714.

The mode management software 711 is a software for managing the entireman-machine sub-system 3 and for reading the data and managing andexecuting each mode in accordance with an operator's operation.

The robot initialize 712 transmits an original point return command tothe trajectory sub-system 4 and waits for an end command.

The HOME 713 transmits a home position command to the trajectorysub-system & and waits for an end command.

The parameter processing 714 sets and manages parameters within theman-machine sub-system 3. The parameters include:

offsets (for eight axes) of robot coordinates;

an offset from an absolute coordinate system to a mechanical coordinatesystem;

an offset to TCP; setting of conditions for serial communication;

a speed table (eight steps PTP: % indication CP: mm/s indication);

setting of an operational range (for eight axes);

presence/absence of a balance function;

presence/absence of an external start;

presence/absence of a machine lock;

setting of a device number;

assignment of general output to a function key; and

others.

The exceptional process management 72 is divided into four: EMmanagement 721, HOLD management 722, WARNING management 723 andexecution management 724.

The EM management 721 performs a process at the time of an emergencyhalt and more specifically performs an interrupt process and a processfor emergency halt of the robot 2 after the completion of the interruptprocess.

The HOLD management 722 monitors a HOLD signal and tells it to theentire system. In this example, only the operation of a HOLD flag isexecuted.

The WARNING management 723 is a software for monitoring and displaying awarning issued from each process or a sub-system.

The execution management 724 manages, records (in the memory 37) andcounts the execution state of each module, and displays on the display11 of T-BOX 1 the name of an interrupted module on the basis ofinformation from the WARNING management 723 at the time of the EMprocess and HOLD process.

The I/O management 73 is divided into seven: I/O management software731, T-BOX interface 732, print 733, disk 734, panel 735, exclusive I/O736 and general I/O 737.

The I/O management software 731 manages the I/O of the controller 8.

The T-BOX interface 732 communicates with the T-BOX 1 and startscommunication when a display request or a key input request is issued.

The print 733 transmits print data to a printer (not shown), andincludes:

printing of a teach program/teach data;

printing by execution of a teach program; and

printing of parameters.

The disk 734 performs data transactions with a floppy disk (not shown)and it performs input/output of teach data/teach program/parameters.

The panel 735 performs output to a lamp of a panel of T-BOX 1, output toa buzzer, and input to a panel key.

The exclusive I/O 736 performs input/output of exclusive I/O.

The general I/O 737 performs input/output of general I/O.

The robot management 74 is divided into four: edit 741, teach execution742, post execution command 743 and data management 744.

The edit 741 is divided into language editor 7411 and position dataeditor 7412.

The language editor 7411 performs preparation and edit of robotlanguage. When one line has been input, data is delivered to grammarcheck of surface language. If there is no problem, the data is deliveredto the intermediate language translator 33. The surface language and thetranslated intermediate language are delivered to the data management744 and stored in the memory 37.

The position data editor 7412 newly prepares and edits position data.

The teach execution 742 is divided into language translator 7421 andlanguage execution 7422.

The language translator 742 performs:

1) grammar check of surface language,

2) translation of surface language to intermediate language, and

3) translation of intermediate language to surface language.

The language execution 7422 reads in and executes intermediate language.

The post execution command 743 executes a robot operation from adesignated block number and a step number.

The data management 744 is divided into language data management 7441and position data management 7442.

The language data management 7441 manages intermediate language, readsintermediate language and writes intermediate language.

The position data management 7442 manages position data, reads positiondata and writes position data.

The manual robot operation-inching 75 is activated as task from thesystem management 7 and is always set in an active state. The manualrobot operation-inching 75 constantly monitors the operator's operationinformation and tells an inching operation to the trajectory sub-system4 on an as-needed basis. In addition, the manual robot operation-inching75 transfers data of inching mode management, key informationmanagement, etc. to the trajectory sub-system 4.

The system management execution 76 is a software for managing anexecution section for executing a system program.

The operation of the computer system will now be described.

When the entire man-machine sub-system 3 is started, the T-BOX 1 isfirst turned on to effect mechanical initializing. Then, the mode menu(current mode) is displayed on the display 11 of the T-BOX 1. At first,an initialize mode appears. When the system initialize is instructed,the system is successively started and set in a ready state.

Subsequently, the teach mode enters. In the teach mode, a sequenceprogram can be assembled. In this state, position information foroperating the working robot 2 is successively stored in the SRAM (memory37) of the man-machine sub-system 3 by the push button operation of theT-BOX 1, with the position data of each axis of the working robot beingemployed as world coordinates of the tip portion of the working robot 2.

Now refer to, for example, spot welding. The position data of each axisof the working robot 2, e.g. 10 position data items, is converted toworld coordinates and stored. All data is stored in the memory 37 withinthe man-machine sub-system 3. Thereafter, if the automatic drive mode isset, the working robot 2 can be operated according to input data in anentirely automatic manner.

When the working robot 2 is automatically driven, the teach execution742 of the automatic drive software reads in and interprets the sequenceprogram under the system management 7 of the man-machine sub-system 3.If the execution command is given to the trajectory sub-system 4, thetrajectory sub-system 4 finds the operation amount of each axis of theworking robot 2 from the world coordinates by means of the coordinateconverter 42. The operation amount is given to the servo sub-system 5from the servo management device 44, and the working robot 2 iscontrolled by the servo control software. When these software modulesare executed, the fact that the software modules are being executed isstored in the memory 37 and RAMs 45 and 51 by means of the numbers ofmodules. The man-machine sub-system 3 has functions of storing this factin the memory 37 and freezing the stored content simultaneously withoccurrence of abnormality. Thus, the T-BOX 1 can be made to displaywhich software is being executed, at the time of, e.g. occurrence ofabnormality on an as-needed basis.

As has been described above, the software of the computer systemoperated by software is classified hierarchically, and a module of thehierarchical software, which is being executed for a predetermined timeperiod, is managed as a minimum unit. The module is displayed on anas-needed basis and the execution state of software is understood. Thus,the execution state of the computer system can be displayed in units ofa module which is executed for a predetermined time period, therebyfacilitating diagnosis and countermeasure by the maker.

Furthermore, the software of the computer system operated by software isclassified hierarchically, and a module of the hierarchical software,which is being executed for a predetermined time period, is stored as aminimum unit by rewriting the executed module each time execution iseffected. The stored content is frozen simultaneously with occurrence ofabnormality, and it can be checked at an early stage which module beingexecuted is malfunctioning. Thus, the state of the computer system canbe displayed in units of a module which is being executed for apredetermined time period, thereby facilitating diagnosis andcountermeasure by the maker.

I claim:
 1. A computer system operable by hierarchical software forcontrolling an industrial robot connected to said computer system, saidindustrial robot comprising a plurality of subsystems, the computersystem comprising:input means for inputting instruction data containingan order in which software modules of said hierarchical software shouldbe executed, one of said modules which is being executed for apredetermined time period being treated as a minimum unit by saidcomputer system; execution means for executing said software on thebasis of said instruction data; monitor means for monitoring anddetecting an abnormality in each individual part of the computer systemand in said industrial robot subsystems; management means for managingone of said software modules which is being executed by said executionmeans and for displaying on a display the one of said software moduleswhich is currently being executed by said execution means when anabnormality is detected by said monitor means: wherein said managementmeans includes a memory and stores data in the memory in a manner suchthat the informational content of the currently executed software moduleis written into the memory each time a software module is executed bysaid execution means, and when an abnormality is detected by saidmonitor means, the stored content of said memory is frozen, and thefrozen content of said memory is displayed on said display; and whereinsaid management means writes into said memory the informational contentof a software module which was executed by said execution meansimmediately preceding the currently executed software module, and whenthe abnormality is detected by the monitor means, freezes and displaysthe informational content of the preceding software module.
 2. Acomputer system according to claim 1 whereinsaid execution meansincludes a plurality of sub-execution means, and said management meansincludes means for storing information indicating the software modulecurrently being executed by each of said sub-execution means.
 3. Anindustrial robot computer system operating on software classifiedhierarchically wherein a module of the hierarchial software beingexecuted for a predetermined time period is managed by said computersystem as a minimum unit, comprising,a man-machine subsystem forreceiving input commands and outputting position information, atrajectory subsystem for receiving position information and outputtingcoordinate signal commands, and a servo subsystem for receivingcoordinate signal commands and outputting drive signals for operating arobot, each said subsystem executing modules in the hierarchial softwarefor operating the robot, said man-machine subsection including a memoryfor storing information identifying the module and the software of themodule that is being executed, a control section including a display fordisplaying the information identifying the module and the software ofthe module that is being executed, means responsive to the detection ofan abnormality in the operation of the computer system or any saidsubsystem for indicating on the display the information identifying themodule of software that is being executed and for freezing in theman-machine subsystem memory the software of the module of softwarebeing executed, means for causing the software of the module stored insaid memory to be displayed on said display for facilitating errordiagnosis, and wherein said display also displays informationidentifying the module that immediately preceded the module currentlybeing executed, and said memory also stores the software of the modulethat preceded the module currently being executed, wherein upon thedetection of an abnormality in the operation of the computer system orany said subsystem the preceding module is frozen in memory and alsodisplayed on the display for facilitating error diagnosis.